查看原文
其他

套壳 Python?国产编程语言“木兰”负责人为夸大行为致歉

近日有媒体称,一款面向智能物联网和编程教育的国产编程语言出世,名为木兰。



听起来是不是很高大上?


它的出身也来历不凡呢,它是 “ 中国科学院计算技术研究所计算机体系结构国家重点实验室编译组 ” 主导开发。


编译组负责人刘雷

编译组负责人刘雷的讲到开发木兰的初衷:“ 鉴于编程语言在信息技术产业中的重要价值,依赖开源等形式的外部技术,存在较大风险,我们需要大力发展编程语言,实现编程语言的自主可控。”

这话听起来还听让普通人心潮澎湃的,反正去年老美搞的这个 ban 那个封,让全国都刮起自主创新的风潮。

尤其高级编程语言所在的代码托管平台很可能会受到美国出口法律的限制,不得不防。

毕竟我们国家缺的就是基础软件设施和相关人才,像 OS 已经有了华为牵头,编程语言这里还是空白,所以当差评君听说 “ 木兰 ” 发布,其实一开始还挺自豪。

但有人发现,下载的程序包解包后——是个 Python?

编程语言是人们和计算机进行交互的重要工具。从 C、C++到 Python、Julia,不同的编程语言因其本身的特性和功能而有着庞大的开发社区。很多开发者对”木兰“进行了使用和研究。解包结果发现,其实这是个 Python 3.7?

据发布的消息称,这门编程语言面向未来的智能物联网。

在智能物联应用领域,尚无一款专用的编程语言。在既有的语言系统中做智能应用开发,需要多个工程师、跨多种语言实现,导致开发效率低下。“木兰”就致力于打造物联网智能执行平台,并为编写的应用程序提供执行环境。

在物联网领域,目前没有专用的编程语言。现有的物联网应用开发过程中,需要多个工程师合作,通过跨语言的方式实现应用,这样一来效率也比较低。出于提升效率,打造物联网智能执行平台的目的,“木兰”应运而生。

但是,由于这门语言的生态尚不成熟,因此在早期培育生态的阶段,“木兰”将会更多地被用于青少年编程教育入手培育生态。据称,以“木兰”为基础延伸的自主研发编程软件、人工智能教材、教学装备等已投入到中小学、幼儿园使用。

据官网介绍,“木兰”是专为人工智能教育而生的中国自主知识产权编程语言,由中科智芯自主研发。由于其目的是以教育为主,所以从设计上有意避开了一些编程语言的复杂特性,如编程的环境调试等,意在让学生在学习编程之初时不被细节所牵绊。开发团队更倾向使「木兰」突出易理解、易学习、易阅读、易维护的特性,同时该语言目前支持跨平台,对 Android、UNIX、Windows 可兼容。

单从软件角度看,就目前编程教育市场而言,类似的编程软件不占少数,并且为降低教育门槛同样使用图形化编程。所以就实质的差异点相比较,还是得将聚焦点回归到编程语言“木兰”上。

木兰语言到底是什么样的
对于「国产语言」,大家的期待都非常大,很多开发者都下载了 ulang-0.2.2.exe“木兰”语言环境。打开木兰语言环境后,首先呈现的是类似命令行的编程环境,我们会发现它的函数很多都和 Python 一致。


经过测试,几个简单函数的用法也和 Python 一致。

而且,木兰的所有内建对象( 理解为自带函数 )居然只有 68 个?!


最骚的来了,知乎大佬们很随便的、不抱希望的试着逆向了一下木兰的 ulang-0.2.2.exe 安装包。。然后居然成!功!了!


这一堆堆的 Python 图标怎么回事?这 python37.dll 怎么回事儿?

“ Include ” 文件夹里居然是 “ pyconfig.h ”,学过编程的都知道,这个是 Python 的系统配置文件,妥妥的 Python 烙印。

还有专门辅助 Python 2 转向 Python 3 的 “ lib2to3 ” 文件夹。。。

要是现在还说 “ 木兰 ” 是国内的人 “ 完全自主 ” 开发的,那可就太可笑了。

根据中科智芯对 “ 木兰 ” 的定位,直白点说,木兰就是个 Python 降阶版。


看官网的介绍,“木兰”在市场上很难被应用,只好从娃娃抓起,让先占领孩子们的童年高地。不得不说,这倒是一招好棋。

可是,光占领了,但是有没有什么真本事,到头来,孩子们长大后还是要重新学习别的编程语言。关键是,木兰并没有比别的高级语言更通俗易懂,还不如 scratch 之类的。

自主没有,语言优势没有。所以木兰的意义在哪里?


开发者社区:槽点略多
一位开发者从以下三个角度评价了木兰语言:

1. 能否满足实际需求:一门编程需要需要很多特性,使其能够胜任一些场景中的工作。但是目前似乎没有看到木兰语言体现的特性。
2. 是否融入开源社区:不开源的语言很难进步。
3. 是否适合青少年编程:作为教育语言,不像图形符号语言那样直观。而学生学成后在工作中依然需要重新学习编程语言。


负责人致歉,承认夸大
面对网上的海量质疑声,昨天(1月18日)晚间,研发木兰编程语言的团队负责人刘雷做出如下回应:


本人系中科院计算所编译实验室员工。基于我在编译技术上的科研积累创办了中科智芯(北京)科技有限公司,该公司围绕青少年编程教育,设计开发编程语言、编译器和集成开发环境等产品。

为了更好地在中小学中普及计算思维,本人带领团队开发了一种称为“木兰“的编程语言。它包含三个组成部分:一、在语言规范上借鉴了 Lua 语言的特性并进行了扩展,增加数据表达方法等新的特性;二、开发了支持少儿编程教育的可视化编程环境;三、针对 8 位 AVR 单片机,实现了相应的编译器和运行时系统,开发了能模拟多任务执行的虚拟机。以上产品已经在数百所中小学中,开展了 10 万人次的编程科普活动。

针对 STM32 单片机,我们是基于 Python 开源编译器进行的二次开发,也就是先将木兰语言的源程序转换为 Python 的中间表示(AST),再在Python虚拟机上运行。这就是在开发和运行环境中会包含 Python 系统的原因。

在 1 月 15 日接受媒体采访时,本人在对木兰编程语言的介绍中,犯了以下错误:

1. 木兰编程语言主要是用于中小学教育,在介绍中将它扩大到智能物联领域。

2. 木兰语言在 8 位单片机上的编译器是本团队开发的,在 32 位单片机上的编译器是基于 Python 开源编译器进行的二次开发,但在接受采访中将木兰编程语言和编译器夸大为完全自主开发。

对于此次在网络上造成的不良影响,本人郑重道歉,对给中科院、中科院计算所带来的不良后果表示诚挚的歉意。本人感谢大家的监督与批评,并深刻反省,保证不再出现类似问题。

刘雷
2020年1月18日


来源:机器之心、差评君等网络内容综合。

推荐阅读

浪潮亲历者自述:AI进入寒冬了吗?

中芯国际能承接华为高端芯片代工订单吗?

5G芯片争夺战?

初入14nm江湖,中芯国际量产意味着什么

挤下"老对手",AMD成台积电7纳米芯片最大客户



聚焦行业热点, 了解最新前沿

敬请关注EEWorld电子头条

http://www.eeworld.com.cn/mp/wap

复制此链接至浏览器或长按下方二维码浏览

以下微信公众号均属于

 EEWorld(www.eeworld.com.cn)

欢迎长按二维码关注!


EEWorld订阅号:电子工程世界

EEWorld服务号:电子工程世界福利社


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存